package com.duan.laugh.activiti.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.activiti.engine.repository.Model;

import java.io.InputStream;
import java.util.Map;


/**
 * 工作流模型 service
 *
 * @author duanjw
 */
public interface ModelService {

    /**
     * 新增模型
     *
     * @param name
     * @param key
     * @param desc
     * @param category
     * @return
     */
    Model insert(String name, String key, String desc, String category);

    /**
     * 分页查询模型
     *
     * @param params
     * @return
     */
    IPage<Model> selectPage(Map<String, Object> params);

    /**
     * 根据id删除模型
     *
     * @param id
     * @return
     */
    Boolean removeModelById(String id);

    /**
     * 根据id部署模型到流程
     *
     * @param id
     * @return
     */
    Boolean deploy(String id);

    /**
     * 根据id查看模型图
     *
     * @param id
     * @return
     */
    InputStream viewById(String id);
}
